[Excel] シートで非表示になっている名前の定義を消す方法
Excel のシートをコピーするときに、以下のようなダイアログを見たことがありませんか?
このようなダイアログで「いいえ」を選択しても「あああ」や「aaa」など、見覚えのない名前が次々に表示されてしまい、シートをコピーするのがいちいち大変です。
犯人はどうやら「名前の定義」だ!と思い、名前の定義の一覧を見てみます。
しかしここにも居ませんでした。。
少し調べてみると非表示になっている名前の定義が存在することが分かりました!
ということでこの記事ではシートで非表示になっている名前の定義を消す方法をメモとして残しておきたいと思います。
手順
1. Visual Basic Editor を起動する
まずは Alt + F11 で Visual Basic Editor を起動します。
2. Module の追加
次に Alt + I + M で Module を追加します。
以下のコードをコピーして貼り付けます。以下はすべての非表示の名前の定義を表示させる処理です。
Public Sub VisibleNames() Dim name As Object For Each name In Names If name.Visible = False Then name.Visible = True End If Next MsgBox "すべての名前の定義を表示しました。", vbOKOnly End Sub
ここまでできたら Visual Basic Editor を閉じてOKです。
3. マクロの実行
次に上記で作った処理を実行します。メニューから「表示」タブを選び「マクロ」>「マクロの表示」を選びます。
実行できる処理が一覧で出てくるので VisibleNames を選んで「マクロの実行」をクリックします。以下のダイアログが表示されたら処理完了です。
名前の定義一覧を見てみると表示されると思います!あとはここから削除してください。
まとめ
以上、ちょっとした小技でした。Excel を納品する前にチェックしておくと良いポイントと合わせてこちらもチェックしておくようにすると良いと思います。